package ch.common.service.umTableService;

import java.lang.reflect.InvocationTargetException;

import ch.common.dao.BaseDao;

/**
 * 
 * @author grc
 * @param <T>
 * @Date 2016-1-5 13:22:42
 */
public interface UMTableService<T,T_DAO extends BaseDao<T>>{

	/**
	 * UMTableAction的实施查询函数。
	 * @param where
	 * @param pageNumber
	 * @param pageSize
	 * @return pageModel的json字符串
	 * @throws InvocationTargetException 
	 * @throws IllegalArgumentException 
	 * @throws IllegalAccessException 
	 * @throws SecurityException 
	 * @throws NoSuchMethodException 
	 */
	public String doQuery(int pageNumber,int pageSize) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException;

	/**
	 * UMTableAction的实施删除一行函数。
	 * @param t
	 */
	public void doDelete(T t);
	
	/**
	 * UMTableAction的实施增加一行函数。
	 * @param t
	 */
	public void doSave(T t);
	
	/**
	 * 返回总页数页数
	 * @param pageSize 一页多少行
	 */
	public int doGetPageCounts(int pageSize);
}
